{ "cells": [ { "cell_type": "code", "execution_count": 1, "id": "immune-theme", "metadata": {}, "outputs": [], "source": [ "# In this Python tutorial we start with a continuous function of time from\n", "# which we draw samples at a uniform sampling rate. The sampling rate is\n", "# chosen to be higher than the maximum appreciable frequency component\n", "# contained in the original function of time. We then attempted to\n", "# reconstruct the original continuous function from the sampled data.\n", "import numpy as np\n", "import matplotlib.pyplot as plt" ] }, { "cell_type": "code", "execution_count": 2, "id": "becoming-harmony", "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Here's the original function from which samples will be drawn.\n", "ts0 = np.linspace(0, 2.5, 1000)\n", "T = 0.2\n", "tau = 0.25\n", "A = 3.5\n", "f = A*np.sin(2*np.pi*ts0/T)*np.exp(-ts0/tau)\n", "plt.plot(ts0,f, 'r-', linewidth = 2)\n", "plt.axis((-2, 2, -3, 3));" ] }, { "cell_type": "code", "execution_count": 3, "id": "skilled-analyst", "metadata": {}, "outputs": [], "source": [ "# Now do the sampling. There are Ns samples between -tmax and +tamx.\n", "# Therefore the time between samples is 2*tmax/(Ns - 1), or the sample\n", "# frequency is (Ns - 1)/(2*tmax).\n", "Ns = 1001\n", "tmax = 10\n", "ts = np.linspace(-tmax, tmax, Ns)\n", "ys = A*np.sin(2*np.pi*ts/T)*np.exp(-ts/tau)\n", "for i in range(Ns):\n", " if ts[i] < 0:\n", " ys[i]= 0" ] }, { "cell_type": "code", "execution_count": 4, "id": "every-centre", "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Plot the samples on top of the original continuous function.\n", "\n", "# Original function.\n", "plt.plot(ts0,f, 'r-', linewidth = 2)\n", "plt.axis((-2, 2, -3, 3))\n", "\n", "# Add the samples.\n", "plt.plot(ts, ys, 'ks', fillstyle = 'none');" ] }, { "cell_type": "code", "execution_count": 5, "id": "floral-combine", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(0.019999999999999574, 50.000000000001066)" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Here again are the sampling period and frequency.\n", "Ts = ts[2] - ts[1]\n", "fs = 1/Ts\n", "Ts, fs" ] }, { "cell_type": "code", "execution_count": 6, "id": "reduced-progressive", "metadata": {}, "outputs": [], "source": [ "# Define a function of t. This function will become our reconstructed signal.\n", "# The reconstrcution will be done using the sinc function!\n", "def yRe(t):\n", " z = 0\n", " for i in range(-int((Ns-1)/2), int((Ns-1)/2), 1):\n", " n = int(i + (Ns-1)/2 + 1)\n", " z += ys[n]*np.sin(np.pi*fs*(t - i*Ts))/(np.pi*fs*(t - i*Ts))\n", " return z" ] }, { "cell_type": "code", "execution_count": 7, "id": "synthetic-advance", "metadata": {}, "outputs": [ { "data": { "image/png": "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rVu3Ti+//LKWLFmiffv2qaKiQkcccYROOeUUHXbYYdq3b59ee+01vfTSS9q4caNcLpfmzZunhQsX6qSTTpLP59OyZcv0/PPP6+2331Zzc7MmT56s448/XmeccYamTp2qDRs26IUXXtCLL76oXbt2qaysTEceeaTOPPNMHXfccWpqatKiRYv0zDPPaOXKlQqFQjr44IN12mmn6ayzzlJpaaneeecdPf3003rllVdUV1enSZMm6cQTT9QnP/lJzZs3z2mjefrpp7Vp0yYVFRXp6KOP1ic/+UktXLhQoVBIL730kh577DG99dZbam9v18EHH6yzzjpL5513niorK7Vq1So98sgj+uc//6m9e/dq7NixOuWUU3TxxRfr0EMPVX19vZ544gk9/PDDWrVqlbxerxYsWKCLLrpIZ599trxer1599VU98MAD+ve//63m5mbNnTtXn/zkJ3XZZZdp7Nix2rZtm+677z499NBD2rZtmyorK/Wxj31Mn/vc53T00Uers7NTjz/+uO666y699dZbMsbo+OOP12WXXaZPf/rTys/P1/Lly/Xb3/5Wjz32mBoaGjR9+nRdeOGF+tKXvqSJEyeqtrZWd955p+644w5t27ZN+fn5OvPMM/WVr3xFH/3oR2WM0dNPP63bbrvN+Ut5zpw5uuaaa3TNNdeosLBQGzZs0E9+8hP9+c9/ViAQUGFhoT796U/rf/7nfzRjxgy1tLTo5z//uX796187f/Ecfvjh+vGPf6yzzz5bkvTkk0/qW9/6ltassVuviouLdd111+l73/ueCgoKtHnzZn31q1/tcZ7TCSecoD/84Q+aO3eu/H6/br75Zt12221OlaasrEy33nqrvvjFL8qyLP3rX//SF77wBe3a1f1N6ic+8Qndf//9GjFihHbv3q2LLrpIr7/e/c3hz3/+cz344IP62Mc+plAopBtvvFG/+MUvnNcfffRRfe5zn9Ndd90lt9utZ555RhdeeKETDjZu3KgXX3xRr7zyiubMmaPq6mp99KMfdUJQKBTS9773PbW3t+snP/mJjDG64oortHjxYudr1NfX68wzz9SqVatUUVGhO++8s0cbmGR/g/urX/1KN9xwg9auXdujyhb2wx/+UFdddZW8Xq/uvvvumNeDwaD+/ve/68tf/nKPgHvDDTfo9tvtsekrVqyQMaZHiJsyZUqPgLV//36Vl5c7j2MrcanvictEO2Wm9sRJqYe4+O2UyVfiJLulMvwDhh07dmjSpMMk2e2UxpiEDxCXpFWrVjnX8+bNkySnEldQkFglTooNceF9cTU1D6uhYYnGjbsm4XtK0r/+9S/n333UqFH61Kc+pa1b7WMDqqo+k9C/+w9+8AM98sgj8vv9WrJkie6++25ddtl3VV39gKqr/6JJk76toqL+D3SJtGbNGp1++umqq7P/rCsqKvT4419XTc1XJbk0Z86DzrCXeLxerx588EGdd955Tnv0jTf+SBs3XqXrrvuC9u27W6tXf1atrWs1efIPkvozN8Zo+fLleuihh/Twww87nQMlJdKVV7r0qU9JLpdd8dy3b7TefbdQH35YrPb2KpWVVWjbtm164403NGqUNGOG9JGPSCec4Nbo0Xu0ffvPtX37z1VUdLTGj79KVVWfkcdT0sdq4qutrdVbb72lXbt2qaGhQQ0NDXrzzTf1/PPPSwpp+nR7/+C8edKMGbs0btwueeJ+p75D0lvauPG32rhRCgSKFQiMV0fHOLW3j1Fe3kwddth5mjLl0ITXuHXrVr344ovavXu3PB6PysrKVFZWpv3792vp0qV6+eWXtWfPLo0YIVVWSqNGSZMmlWjcuBEypl3t7fUKBDoVDErBoFRUVKoJE6Zp8uR5Ki+fpJYWl/bv79DevW1yu8s1ffohOvroYzRx4kTnzz0QCGjz5s2qrq5WSUmJJk2a5ExhDf///ttvv60VK1aoo6NDI0eO1Lhx4zRu3Di1t7frww8/1Hvvvaf3339f9fX1GjFihGbMmKrZsydr/PgKNTbu1Z49W7Vr1w7t31+v4uIyTZkyTbNmzdXMmXPk8xWqurpWO3dWa+fOanm9hTrooMmaO3eu5s2bp4qKCu3Zs0cbN27Uhg0b1NTUpLFjx2rcuHGaOHGiKisrtXfvXq1evVoffvihtmzZopKSElVWVmrs2LEaM2aM6uvre/1Bcn9Zqfb+Wpa1QNIPjDFndD3+dtdv8k/7+AwNx8h69qHCvf+n7vV6YyoQkTweT59tFZZldZ171HtbVFlZmRobG3tdR0FBgdxud6/VJpfLpdGjR/eopEQbO3asGhsbe11HaWmpysvL47biSfZPaWfPnq0NGzb0aH2LNGPGDLW3tzvVmWgVFRWaPn26li1bFvf3y+1268QTT9Tq1atVXV0d9x4LFiyQZVlOQIx20EEH6bjjjtM//vGPuL9f+fn5uvjii/X+++/3qFZFOvvsszVmzBjde++9cf9Mpk+frssuu0z33nuvtm6N3Sfi9Xr1ne98R2vXrtWDDz4Y92t89rOf1Wc+8xl9+tOfjluJnDp1ql588UVdccUVcYeISHaFb+/evbryyivjvv75z39ev/jFLzR9+vQe39SHVVRUaPPmzfr617+uu+66S5J97tXGjRudb1gffvhhjR071mlTGzVqlL773e/qq1/9qiTpzDPP1DPPPKMJEyY4Yffdd9/VRz/6Uaf1c8eOHfrVr37lBLubb75Zra2t+ulP7b9+fvSjH+mQQw7Rpz71KUnSOeeco6eeekobNtygHTt+oalTf6ZJk74R99+xL08++WTMPdes+YL27LlHM2fepXHjrkr4ng8++KAuvfRSSdKnP/3prh+6fEY1NQ9rzpwHNXr0ZxK+509+8hPddNNNkqRvfetb+ulPf6p33z1ejY1LdNhhr6m8/ISE73nLLbfoO9/5jiTpm9/8pm699Va9++5xamxcqsMPX+wM/EjERRddpEcffVSS9Je//EWXXHKJXnutRKFQi044oV4eT1nC97z22mudiu/PfvYzfeMb39DSpZPU0bFdRx+9ToWFMxK6XzAYVGVlpRNiVq9erfHjW/TOO0eqoGC6jjlmfcJrlKRPfepTevLJJyXZP6S47bafaunSsfL79+nII99TcXFi34R/5zvf0S233CJJGjFihNasWaP6+h9o1647VFl5kebN+1vCa9y8ebNOPPFEZ+9paWmp/v3v+9XefoWCwYaE/nfU1tamj3/84041U5ImTBivu+/+hPLy7pIUUmXlxZo9+1653QX9uqcxRn//+99100039ajAut3Spz4lfe5zbhUVBSVZqqq6VBMnfl0lJYfHvdcbb7yhL33pS1q+fLnz3Lx59oCWhQulImd7Yr7GjPmMxoz5gsrKjj9g6FyxYoV+/vOf66GHHurRqTB5snTEEfavQw+VIraxOqqrpX37pJYWqbVVcrkkr9dey6hRdpCK+NlVD83NHoVCk1RcPFednWO0ZUtQa9fu06ZNdQqFSjVlil2QKCws1OrVq/X88//Uli2rVV5u37uiwv4VDmvhrzdypP37mw7BoNTUJLW2uhUIFKqxMaQ9e1rV2GjU2WlXSoNByePxqbi4VG1tTQoG25WXZ/975+VJPp+Un9/9z/CvyMe9/R71VyAg+f2x/4z3XCAgWZb9e+R2Sx6P/St8HX7e7ZY+8xm9Y4w5Mpk1pVyJkzReUuR3VjskHRP9JsuyrpGU3I+qgGHoQD8g6SvASeqznTB8/74CnKS4bXyRems3DAuFQn0GOEkHfL2v/VaS/c1R5E/N41m/PvYbJJfL5ewj2b9/f0yYKC4udsJWMBjUyy+/3OP1kSNHqqmpyflzWLq0556MwsJClZeXOwFi69atPYKVZVmaN2+e1q5dK7/fr/b2dt1333097jFr1iy1tbU5AfaZZ57p8XpVVZUOPvhgvfTSS5KkDRs26Ac/+IHzutvt1rnnnqs33nhDu3btkt/v7/G6ZIej/Px8p+3wL3/5S4+pcZMnT9ZVV12lW265Ra2trdq0aZOmTJnS4/fxb3/7m+666y7nHuGqZNh//ud/6uMf/7jOOeccSdI999yje+65x3n9oIMO0gcffKBDDjlEW7Zs0f79+/XlL39ZDz30kPOem2++WS+99JKz/j/84Q89hpBceOGF+uQnP+mEuJdfflmrV692fv9LSkp0yCGHaP78+U6FcsWKFTHtlJH/PUbviQtXuKT0DTYZyod9D1Q7Zfdgk+QrcWE7duyQZVny+caprW29Ojp2JRXiIr+ZnzdvnoLBFnV0bJdleZWfP6WPT8bndrt18skn6+9//7ske1/cf/7nNXK5CtXWtkGdnXuVl1eV0D13797do5J91VVXqb7+Jfn9+1RYOFtFRYckvM6bbrpJDz30kDZt2qS6ujp9/etf1x//eKt2775HNTWPqKnpPZWUHNbv++3du1ennnqqE+CKior0zDN/l2XdoGCwQRUV52rixBv6fb+CggI99dRT+o//+A898cQTkqQdO3bqjDP+oG99a6HOOutt1dQ8rPb2LTr44L/L5xvT5/06Ojr05S9/2flhUdgRR0hf/apLkyaFJAVVXn6Kpk37xQH/3Y899li9/fbbuvPOO/Xd735X+/fv16pV0qpV0v/9n3TSSdLZZ0uHHtquPXv+pD17/iSXa6za2g7Rli2VWrtWam0t1JgxYzVhwgS1t7frqaee0gsvvKC8PLvCN2uWNHeuvcaI7m9JUjA4RlVVp6i8/Hi1tk7Wnj0e+f171dGxVwcdNF5Tp06Vx+PRG2+8ob/+9a9avHixLMu+z5QpdiicMsX+ddBBUnFxQNImSZuUny/Nnm3/CgsEukPSxInSxz/erz9GSVJzs1d1dW7t3NmpfftCamuT2tvtXx6PV+XlJWppaVIo5Fd+vl0RLS62/xn5q6BAKi+XysuDkuz/nzo47jGOHZKSb88MBrvX194udXRIxtihOByowtfhoOX12td5ed1BbChJx3Li/fgh5rtXY8ydku6UpBEjRpgZM2bI7/froIMO0uTJkzVx4kSVlpZq27Zt2rBhgzZs2KCWlhaNHTtWU6ZM0ezZs1VZWanq6mqnfbKmpkZFRUVO++TUqVPV3t6ujRs3au3atdq6dasCgYCmTJmiadOmafbs2SoqKtLWrVu1bt06rVmzRg0NDRo9erRmzJihOXPmaPz48aqpqXHaJ3fv3i2fz6cZM2Zo5syZmjVrlkKhkDZs2KBVq1Y51YPJkydr5syZmjdvnkaOHKmtW7dq9erVWrVqlfbv36+RI0dqzpw5mjt3rqZOnar6+nqnfXLbtm2yLEuzZs1ySrVer1dr167VypUr9eGHH6qlpUWTJk3SnDlzdOihhzotbitXrtT777+v6upqlZaWat68eTr44IM1Z84c55vjN998U+vXr1dnZ6cmTZqkj3zkIzrqqKNUXl6uzZs366233tK7776ruro6VVRUaP78+VqwYIGmTZumuro6LVu2TG+88Ya2bdsmj8ejmTNnasGCBTriiCPkdru1cuVKvf7661q5cqVaW1s1ceJEHXXUUTruuOM0duxYbd26VUuWLNHSpUuddtX58+frpJNO0vz589XU1KS33npLr776qjZssCdDzZo1S8cff7yOP/54FRYWauXKlXr55Ze1bNkyNTY2avz48Tr66KO1cOFCTZs2Tdu3b9err76ql19+WTt37lRRUZEOPfRQnXLKKTrmmGPU0dGhpUuX6oUXXtCqVavk9/s1Y8YMnXzyyTr11FNVWVmpFStW6IUXXtBrr72m2tpajR07Vsccc4zOPPNMHXroodq5c6defPFFPffcc9q8ebPy8vJ06KGH6owzztApp5wil8ulxYsX65///KfefPNNBQIBTZ48WQsXLtQ555yjKVOmaMWKFXr66af13HPPqbGxUcXFxTr22GN17rnn6qSTTtLevXv17LPP6u9//7vzzemcOXP0iU98Queee65KSkr08ssv69FHH3VGXZeXl+v000/XxRdfrMMOO0wffPCBHn30UT355JNqbm6Wy+XSRz7yEV188cX6xCc+oebmZv3973/Xn//8Z23ZskWSPVzg/PPP16WXXqoJEyZo0aJFuu+++5zg4/V69dGPflSf+9zndOqpp2rNmjX605/+pIcfflitrfaUu2nTpunKK6/U5ZdfLsuy9Ne//lW///3vneBTUFCg8847T9ddd52OOOIIPfvss/rNb37T4yeyhx9+uL761a/qM5/5jDZv3qzf/OY3uvfee51vcMvKynTNNdfoa1/7msrKynTffffptttu61HlO/300/W9731Pxx9/vJYsWaLvf//7evHFF53Xx40bp5/85Ce6/PLLVVtbq29/+9v605/+5FTwXC6XPv/5z+u2227TiBEj9Mc//lHf/va3e4TEOXPm6N5779UxxxyjVatW6YorrtA777zjvJ6Xl6ebb75ZN9xwgzo6OnT99df3GCEu2eHrb3/7m6qqqvS3v/1NX/jCF3pU+IqLi/Xwww/r7LPP1vbt23XmmWf2+MZUkq644grdfffdsixL11xzTUxrYlVVlZ5//nnNmDFDBx98sC644IKYSuVPfvITXXDBBTrxxBN1xBFHON+shU2fPl233367ioqKdMEFF+ixxx5TtNtuu00lJSX63ve+p89//vOS1CPQHnXUUTrhhBM0efJk/ehHP3LahMPhVZI+85nPaPLkyZozZ45Wr16t9vZ2/ehHP3JeX7Bggdxutw455BAnxH3wwQcx7ZSRoS16T1y4nXLy5B9p4sQbnUCTqEy3U2bqnDipO8SFQskNNonXTtk92CTxPXFS7xMq29rWq7Nzl4qK5iR0P2NMjx8MzZ07V62t9g+CCgqmyeVK7lufhQsXOiFu0aJF+tKXvqTS0mNUX79IDQ1LVFn5qYTud++99zr/ezzppJM0a9YsrVlzm6TEWynDCgoK9Lvf/U5nnnmmJPt4jquvvlrjx1+rHTt+pS1bvq/585/s170CgYDz/8WS/b+fp556SpWVf9OuXe8qP3+KZs/+U8LrLC4u1mOPPaZHHnlE1113nbNv6tZbF+mtt6bohz8sV1PTm3r33aM1f/4/eq1G7t69WxdccEGPH8BNmVKom24apalTt0kKKT9/mqZP/6UqKs7p9zrdbreuvfZaff7zn9cLL7ygZcuWadWqVVqxYoWef36dnn/e3kt31lnSGWdIo0bt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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Now make some time values and plot the reconstructed signal (black line)\n", "# along with the origonal continuous function (yellow line).\n", "plt.figure(figsize=(15,15))\n", "tt = np.linspace(-2.5, 2.5, 1000)\n", "plt.plot(tt, yRe(tt), 'k-', linewidth = 3)\n", "plt.plot(ts0, f, 'y-', linewidth = 2)\n", "plt.axis((-2, 2, -3, 3));" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.8" } }, "nbformat": 4, "nbformat_minor": 5 }